package com.tankgame4;

public class Shot implements Runnable{
    int x; // 子弹的横坐标
    int y; // 子弹的纵坐标
    int direct = 0; // 子弹的方向
    int speed = 3; // 子弹的速度
    boolean isLive = true; // 子弹是否还存在

    public Shot(int x, int y, int direct) {
        this.x = x;
        this.y = y;
        this.direct = direct;
    }

    @Override
    public void run() {
        while (true) {

            // 线程休眠 50ms
            try {
                Thread.sleep(50);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            switch (direct) {
                case 0:
                    y -= speed;
                    break;
                case 1:
                    x += speed;
                    break;
                case 2:
                    y += speed;
                    break;
                case 3:
                    x -= speed;
                    break;
            }

            // 用于测试子弹是否正常
            System.out.println("子弹 x=" + x + "， y=" + y);

            // 当子弹出边界时，应该销毁子弹线程
            // 当子弹碰到敌人坦克时 也应该退出线程
            if (!(x >= 0 && x <= 1000 && y >= 0 && y <=750 && isLive)) {
                isLive = false;
                break;
            }
        }
    }
}
